package projorientado.anpr;

/**
 *  Essa classe tem a função de reconhecer os caracteres de uma placa.<BR>
 */
public interface OCRPlate {

    /**
     * Faz o reconhecimento de todos caractes de uma placa de carro.<BR>
     * As informações necessárias sobre a placa já estarão presentes no objeto Plate.
     * Todos os segmentos da placa já estão no objeto de placa.<BR>
     * O reconhecimento deve gerar o custo médio e o menor cursto dos caracteres reconhecidos,
     * assim como gerar a string final da placa. Todos dados de saída devem ser armzenados no objeto plate.<BR>
     * Esse método também deverá definir o 'código' (Plate.setCode) de erro caso o reconhecimento
     * não for realizado com sucesso.
     * @param plate placa do carro
     * @param plateIndex indice da placa no resultado
     * @param visitor objeto de visita
     */
    public void recognizePlate(Plate plate, int plateIndex, PlateRecognizerVisitor visitor);
    
}
